Ввести данные из файла, компонентами которого являются записи, содержащие сведения о книгах библиотеки: автор, название, жанр, издательство, год выпуска. Определить количество книг, выпущенных издательством X в 2000 году в жанре фантастики. Название книг автора Y выпущенных в издательстве Z — Delphi(Делфи)

type
  book = record
    autor:string[100];
    name:string[200];
    zhanr:string[100];
    izdat:string[200];
    year:integer;
  end;
procedure TForm1.Button1Click(Sender: TObject);
 var
  f:file of book;
  b:book;
  i:integer;
 begin
  AssignFile(f,'myFile.my');
  Reset(f);
  i:=0;
  while not EOF(f) do begin
   Read(f,b);
   StringGrid1.Cells[0,i]:=b.autor;
   StringGrid1.Cells[1,i]:=b.name;
   StringGrid1.Cells[2,i]:=b.zhanr;
   StringGrid1.Cells[3,i]:=b.izdat;
   StringGrid1.Cells[4,i]:=IntToStr(b.year);
   i:=i+1;
  end;
 end;
function fant(X:string):integer;
 var
  f: file of book;
  b:book;
 begin
  AssignFile(f,'myFile.my');
  Reset(f);
  result:=0;
  while not EOF(f) do begin
   Read(f,b);
   if (b.izdat=X)and(b.zhanr='фантастика')and(b.year=200) then
    result:=result+1;
  end;
 end;
function nazv(Y,Z:string):TStringList;
 var
  f: file of book;
  b:book;
 begin
  AssignFile(f,'myFile.my');
  Reset(f);
  while not EOF(f) do begin
   Read(f,b);
   if (b.autor=Y)and(b.izdat=Z) then
    result.Add(b.name);
  end;
 end;

Leave a Comment

+ 59 = 62